﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Data;
using DataAccess;
using Utility;

namespace Web.giamthi
{
    public partial class UCQuanLyGV : System.Web.UI.UserControl
    {
        GiaoVienControl gvCtr = new GiaoVienControl();
        GiaoVien gv = new GiaoVien();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DisplayInfo();
            }
        }
        
        // hiee63n thị thông tin của giáo viên đã chọn để update
        private void DisplayInfo()
        {
            // lấy mã giao viên trên thanh địa chỉ
            if (Request.QueryString["magv"] != null)
            {
                GiaoVien g = gvCtr.GetGiaoVienByMaGV(Request.QueryString["magv"].ToString());
                lblLabel.Text = "Mã giáo viên";
                lblMaGV.Text = g.MaGV;
                txtTenGV.Text = g.TenGV;
                txtDiaChi.Text = g.DiaChi;
                txtDienThoai.Text = g.DienThoai;
                txtEmail.Text = g.Email;
                DateSelect1.CalendarDate = g.NgaySinh.ToString().Split(' ')[0];
                if (gv.GioiTinh == false)
                {
                    rdNu.Checked = true;
                    rdNam.Checked = false;
                }
                else
                {
                    rdNu.Checked = false;
                    rdNam.Checked = true;
                }
            }
            else
            {
                clear();
            }
        }

        // insert và update giáo viên
        protected void btnLuu_Click(object sender, EventArgs e)
        {
            if (KiemTra() == false)
            {
                return;
            }
            else
            {
                gv.Password = WebHelper.GenerateMD5("123");
                gv.TenGV = txtTenGV.Text;
                gv.NgaySinh = Convert.ToDateTime(DateSelect1.CalendarDate);
                if (rdNu.Checked == false)
                {
                    gv.GioiTinh = false;
                }
                else
                {
                    gv.GioiTinh = true;
                }
                gv.DienThoai = txtDienThoai.Text;
                gv.DiaChi = txtDiaChi.Text;
                gv.Email = txtEmail.Text;
                gv.TrangThai = "Unlock";
                gv.LoaiTK = "Giao Vien";
                if (Request.QueryString["magv"] != null)
                {
                    gv.MaGV = lblMaGV.Text;
                    gvCtr.UpdateGiaoVien(gv);
                }
                else
                {
                    gv.MaGV = gvCtr.GenerateMaGV();
                    gvCtr.InsertGiaoVien(gv);
                }
                clear();
                WebHelper.ShowMessage("Cập nhật thành công !", Page);
               
            }

        }


        private void clear()
        {
            lblMaGV.Text = gvCtr.GenerateMaGV();
            txtTenGV.Text = "";
            txtDiaChi.Text = "";
            txtDienThoai.Text = "";
            txtEmail.Text = "";
            lblError.Text = "";
            DateSelect1.CalendarDate = "";
            lblLabel.Text = "";
        }

        // kiểm tra validation dữ liệu
        private bool KiemTra()
        {
            bool check = false;
            if (CheckValidate.CheckNull(txtTenGV.Text))
            {
                lblError.Text = "Nhập tên giáo viên !";
                check = false;
            }
            else if (CheckValidate.CheckNull(DateSelect1.CalendarDate))
            {
                lblError.Text = "Nhập ngày sinh !";
                check = false;
            }
            else if (CheckValidate.IsDate(DateSelect1.CalendarDate)==false)
            {
                lblError.Text = "Ngày sinh không hợp lệ !";
                check = false;
            }
            else if (CheckValidate.GetYears(DateTime.Now , Convert.ToDateTime(DateSelect1.CalendarDate)) < 18)
            {
                lblError.Text = "Ngày sinh phải từ 18 tuổi !";
                check = false;
            }
            else if (CheckValidate.CheckNull(txtDienThoai.Text))
            {
                lblError.Text = "Nhập điện thoại !";
                check = false;
            }
            else if (CheckValidate.CheckNull(txtDiaChi.Text))
            {
                lblError.Text = "Nhập địa chỉ !";
                check = false;
            }
            else if (CheckValidate.CheckNull(txtEmail.Text))
            {
                lblError.Text = "Nhập email !";
                check = false;
            }
            else if (!CheckValidate.CheckEmail(txtEmail.Text))
            {
                lblError.Text = "Nhập email không hợp lệ !";
                check = false;
            }
            else
            {
                check = true;
            }
            return check;

        }

        protected void btnHuy_Click(object sender, EventArgs e)
        {
            clear();

        }
    }
}